/* 
  该项目是整个项目的入口文件
*/
// 引入 Vue
import Vue from 'vue'
// 引入 App 组件, 它是所有组件的父组件
import App from './App.vue'
// 关闭生产提示
Vue.config.productionTip = false

// 创建 Vue 实例对象 --- vm
// !单独解释 这块代码, 完成了这个功能: 将 App组件放入容器中
// new Vue({
  // render: h => h(App),
// }).$mount('#app')


/* 
  挂载 容器
    .$mount('#app')
  等价于
    el: '#app'
*/


/* 
  解释: render: h => h(App),
  因为当前引入的 Vue 是一个残缺版的 Vue
  关于不同版本的 Vue
    1. vue.js 与 vue.runtime.xxx.js 的区别    [dist/vue.runtime.esm.js]
      (1). vue.js是完整版的Vue, 包含: 核心功能 + 模板解析器.
      (2). vue.runtime.xxx.js 是运行版的 Vue, 只包含: 核心功能、没有解析器.
    2. 因为 vue.runtime.xxx.js 没有模板解析器, 所以不能使用 template 配置项, 需要使用
      render 函数接收到的 createElement函数去指定具体内容.
*/
new Vue({
  el: '#app',
  // template: '<h1>你好啊</h1>',
  // render: function(a){
  //   console.log( typeof(a) );
  //   return null
  // }
  // 调用 render函数 必须要有一个返回值.
  // 检测到 形参是一个 函数
  // 官方文档叫做: createElement
  // https://cn.vuejs.org/v2/guide/render-function.html#createElement-%E5%8F%82%E6%95%B0

  // render: function(createElement){
  //   return createElement('h1','你好啊')
  // }

  // render: createElement => createElement('h1','你好啊')

  render: createElement => createElement(App)
})